// pages/volunteer/personal-info.js
Page({
  data: {
    userInfo: {
      name: '张小明',
      avatar: '/images/avatar.jpg',
      age: 25,
      phone: '13800138000',
      email: 'zhangxiaoming@example.com',
      bio: '热爱公益事业，希望能为社会贡献一份力量。',
      id: 'V2024001',
      level: 'LV.3 资深志愿者',
      registerTime: '2024-01-15',
      totalHours: 156
    },
    genderOptions: ['男', '女'],
    genderIndex: 0
  },

  onLoad: function (options) {
    console.log('个人信息页面加载');
    this.loadUserInfo();
  },

  // 加载用户信息
  loadUserInfo: function () {
    const userInfo = wx.getStorageSync('userInfo') || this.data.userInfo;
    const genderIndex = userInfo.gender === '女' ? 1 : 0;
    
    this.setData({ 
      userInfo,
      genderIndex
    });
  },

  // 更换头像
  changeAvatar: function () {
    wx.chooseImage({
      count: 1,
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success: (res) => {
        const tempFilePath = res.tempFilePaths[0];
        this.setData({
          'userInfo.avatar': tempFilePath
        });
        
        wx.showToast({
          title: '头像已更新',
          icon: 'success'
        });
      }
    });
  },

  // 姓名输入
  onNameInput: function (e) {
    this.setData({
      'userInfo.name': e.detail.value
    });
  },

  // 性别选择
  onGenderChange: function (e) {
    this.setData({
      genderIndex: e.detail.value,
      'userInfo.gender': this.data.genderOptions[e.detail.value]
    });
  },

  // 年龄输入
  onAgeInput: function (e) {
    this.setData({
      'userInfo.age': e.detail.value
    });
  },

  // 手机号输入
  onPhoneInput: function (e) {
    this.setData({
      'userInfo.phone': e.detail.value
    });
  },

  // 邮箱输入
  onEmailInput: function (e) {
    this.setData({
      'userInfo.email': e.detail.value
    });
  },

  // 个人简介输入
  onBioInput: function (e) {
    this.setData({
      'userInfo.bio': e.detail.value
    });
  },

  // 保存信息
  saveInfo: function () {
    const userInfo = this.data.userInfo;
    
    // 验证必填字段
    if (!userInfo.name.trim()) {
      wx.showToast({
        title: '请输入姓名',
        icon: 'none'
      });
      return;
    }
    
    if (!userInfo.phone.trim()) {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      });
      return;
    }
    
    // 验证手机号格式
    const phoneRegex = /^1[3-9]\d{9}$/;
    if (!phoneRegex.test(userInfo.phone)) {
      wx.showToast({
        title: '手机号格式不正确',
        icon: 'none'
      });
      return;
    }
    
    // 验证邮箱格式（如果填写了的话）
    if (userInfo.email && userInfo.email.trim()) {
      const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      if (!emailRegex.test(userInfo.email)) {
        wx.showToast({
          title: '邮箱格式不正确',
          icon: 'none'
        });
        return;
      }
    }
    
    wx.showLoading({
      title: '保存中...'
    });
    
    // 模拟保存操作
    setTimeout(() => {
      // 保存到本地存储
      wx.setStorageSync('userInfo', userInfo);
      
      wx.hideLoading();
      wx.showToast({
        title: '保存成功',
        icon: 'success',
        duration: 2000,
        success: () => {
          // 延迟返回上一页
          setTimeout(() => {
            wx.navigateBack();
          }, 2000);
        }
      });
    }, 1000);
  },

  // 分享
  onShareAppMessage: function () {
    return {
      title: '个人信息编辑',
      path: '/pages/volunteer/personal-info'
    };
  }
});
